package com.CollectionsDemo.Test;


import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;

/*
* ArrayList存储学生对象
需求：ArrayList存储学生对象，使用Collections对ArrayList进行排序
要求：按照年龄从小到大，年龄相同时，按照姓名的字母顺序排序
思路：
1、定义学生类
2、创建ArrayList集合对象
3、创建学生对象
4、把学生添加到集合
5、使用Collections对ArrayList集合排序
6、遍历集合
* */
public class CollectionsDemo {
    public static void main(String[] args) {
        //创建ArrayList集合对象
        ArrayList<Students> array = new ArrayList<Students>();

        //创建学生对象
        Students s1 = new Students("zhangsan", 24);
        Students s2 = new Students("lisi", 18);
        Students s3 = new Students("wangwu", 28);
        Students s4 = new Students("axiongda", 18);
//        Students s5 = new Students("xiongda",25);

        //把学生添加到集合
        array.add(s1);
        array.add(s2);
        array.add(s3);
        array.add(s4);

        //使用Collections对ArrayList集合排序
        Collections.sort(array, new Comparator<Students>() {
            @Override
            public int compare(Students s1, Students s2) {
                int num = s1.getAge() - s2.getAge();
                int num2 = num == 0 ? s1.getName().compareTo(s2.getName()) : num;
                return num2;
            }
        });

        for (Students s : array) {
            System.out.println(s.getName() + s.getAge());
        }

    }
}
